Method for controlling an articulated robot

ABSTRACT

A method for controlling a first arm (11) and a second arm (12) in an articulated robot comprising said first arm (11) supported rotatably by a main body (1) via a first articulated joint and said second arm (12) supported rotatably by said first arm (11) via a second articulated joint. 
     When a top of said second arm (12) moves from a certain starting point P i  to an end point P i+1 , the angular velocity curve during acceleration and deceleration is determined based on the positional data of the points P i , P i+1  in a manner such that the acceleration time and the deceleration time become shortest under such conditions that torques impressed on the motor (13), (14) and the speed reducer (15), (16) do not exceed an upper torque tolerance limit, respectively. 
     By such method, the transfer time can be shortened substantially and reasonably in comparison with the conventional method in which the acceleration and deceleration times are fixed.

BACKGROUND OF THE INVENTION

The present invention relates to a method for controlling a first arm and a second arm of an articulated robot having two pivotally connected arms.

Recently, by using a microprocessor, the control method for an industrial robot has changed to a digitized system to permit improved operating characteristics and velocity control of a robot arm based on a memorized cam curve whereby velocity instructions may be executed.

More specifically, the cam curve (S curve) having a relationship between time and a displacement amount, as shown in FIG. 1, is digitized and memorized as an S-table beforehand in a memory device and a desired displacement amount is derived one by one based on the cam curve at an operational time and a positional deviation against a present position and is supplied as a velocity instruction to a motor which drives each arm. In order to make the first arm and the second arm start simultaneously and to stop simultaneously, an instruction value derived from the S table is multiplied by a ratio of a displacement pulse amount for a first motor to a displacement pulse amount for a second motor, thereby producing an actual issued desired displacement amount.

As another method for supplying the velocity instruction to each motor, a hybrid control method is known that the cam curve having a relationship between the time and the velocity, as shown in FIGS. 2 and 3, is digitized and memorized in the memory device, and a velocity is derived one by one based on the cam curve at the operational time, and the control for the displacement amount is executed separately based on an integrated value of the issued velocity instruction, or another method using a cam curve having a relationship between the displacement amount and the velocity, as shown in FIGS. 4 and 5, is known.

Essentially, the articulated robot has characteristics such that the moment of inertia changes principally as a function of an angle of the second arm, and a centrifugal force or Coriolis force changes principally as a function of the angle of the second arm and the movement of the first arm and the second arm. Therefore, the load torque presented to a motor or a speed reducer changes largely as a function of the angle of the second arm and the movement of the first and second arms.

However, in the above-mentioned conventional methods, uniform acceleration and deceleration are executed without specifically considering the variation of the load and, therefore, the load torque under the severest conditions should not exceed a tolerance limit; that is, the uniform acceleration and deceleration are executed against an idle operation and the uniform acceleration and the uniform deceleration are substantial obstacles against a shortening of the time to effect a displacement from one point to another.

SUMMARY OF THE INVENTION

The first object of the present invention is to offer a method for controlling an articulated robot, which can control each arm in a manner such that the shortest transfer time is realized under such conditions that the capabilities of a motor and a driving circuit are best utilized and the torque load of the speed reducer does not exceed its tolerance limit.

Another object of the present invention is to offer a method for controlling an articulated robot, which can substantially shorten the transfer time for a displacement from one point to another in comparison with the conventional method which fixes the acceleration and deceleration time.

The above-mentioned object of the present invention is achieved by a method for controlling an articulated robot, wherein control is effected by supplying an angular velocity instruction to the respective motors of the first arm and the second arm, in an articulated robot comprising a first arm supported rotatablly by a main body via a first articulated joint, a second arm supported rotatablly by the first arm via a second articulated joint, a first motor and a second motor, or alternatively, a first motor and a first speed reducer and a second motor and a speed reducer, which are provided at the articulations and rotate the first arm and the second arm respectively, and by determining the angular velocity curve of the acceleration and the deceleration for a movement from an initial point P_(i) to a successive point P_(i+l) in a manner that the torques on the motor and the speed reducer do not exceed the torque tolerance limit and the shortest acceleration time and deceleration time can be obtained based on the positioning data of the initial and destination points P_(i), P_(i+l).

The present invention shortens the transfer time for the displacement from point P_(i) to point P_(i+l) by

○1 memorizing a reference acceleration curve and a reference deceleration curve in a memory beforehand;

○2 reading the positional data of the two points P_(i) and P_(i+l)

○3 obtaining an acceleration time or a displacement amount for the acceleration and a deceleration time or a displacement amount for the deceleration and the largest rotational number in a manner such that the load torque of the first motor, the second motor, the first speed reducer, and the second speed reducer does not exceed their respectively predetermined torques limits, and at least one of the motors or speed reducers is at its maximum allowable torque under its tolerance limit; and

○4 expanding or contracting the reference acceleration curve and the reference deceleration curve according to the obtained acceleration time, displacement amount during acceleration, deceleration time displacement amount during, deceleration and the largest rotation number, thereby obtaining a reference acceleration curve and a reference deceleration curve which are implemented to control the acceleration and the deceleration to shorten the displacement time.

Further, the present invention includes such method that the reference acceleration curve and the reference deceleration curve, by which the velocity instruction values or the desired displacement position instruction values are obtained, are memorized in the memory device beforehand and factors, which affect the load torque of the motor are determined by the positional data of the displacement starting point and the displacement end point, are made respective discrete values and memorized in the memory device; and the acceleration time or the displacement amount during acceleration and the deceleration time or the displacement amount during deceleration are calculated beforehand for all combinations of the above-mentioned discrete value parameters in a manner the load torques of the first motor, the second motor, the first speed reducer and the second speed reducer do not exceed their respective respectively predetermined torque limits and at least one of the motors or reducers is at its maximum allowable torque, and they are memorized in the memory device responding to the above combinations of the above-mentioned discrete values parameters.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a cam curve diagram showing a relationship between time and a displacement amount.

FIG. 2 is an acceleration cam curve showing a relation between time and velocity,

FIG. 3 is a deceleration cam curve showing the same relationship as that of FIG. 2,

FIG. 4 is an acceleration cam curve showing a relation between a displacement amount and a velocity,

FIG. 5 is a deceleration cam curve of the same character as that of FIG. 4,

FIG. 6 is a diagram showing a system configuration for an articulated robot,

FIG. 7 is a diagram showing a reference acceleration curve used in the method of the present invention,

FIG. 8 is a diagram showing a deceleration curve,

FIG. 9 is a diagram showing an angular velocity curve when none of the first motor and the second motor mounts up to the largest rotation number,

FIG. 10 is a diagram showing a supposed angular velocity curve used at a determination of the acceleration and the deceleration time of FIG. 9,

FIG. 11 is a flow chart of a first embodiment of the present invention,

FIG. 12 is a flow chart of a second embodiment of the present invention,

FIG. 13 and FIG. 14 are views describing an operation of the robot, and

FIG. 15 is a partial flow chart of a third embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 6 is a diagram showing a system configuration for an articulated robot having two arms.

In the figure, numeral 1 is a supporter of a robot body, numeral 11 is the first arm connected rotatably to the supporter 1, numeral 12 is the second arm connected rotatably to the first arm 11, and numerals 13 and 14 are motors for driving the first arm 11 and the second arm 12. Numerals 15 and 16 are speed reducers to reduce the rotation of the motors 13 and 14 and transmit them to the first arm 11 and the second arm 12.

Numeral 2 is a driving circuit to drive the motors 13 and 14. Numeral 3 is a numerical control apparatus and comprises an operation apparatus 31, a memory device 32 and a velocity instruction apparatus 33 and produces a velocity instruction signal from data for determining a position stored in the memory device 32 and supplies the velocity instruction signal to the driving circuit 2 via the velocity instruction apparatus 33.

Next, a control method for the first embodiment of the present invention is described.

In the articulated robot, the torque impressed on the motor and the speed reducer differs principally as a function of the angle (θ₂) between the first arm 11 and the second arm 12, the displacement velocities (θ₁, θ₂) of the first arm 11 and the second arm 12, and the rotation directions (positive and negative of Δθ₁, Δθ₂) of the first arm 11 and the second arm 12.

According to a dynamics principle, in the configuration of the present embodiment, a torque T₁ (t) impressed on the motor 13, a torque T₂ (t) impressed on the motor 14, a torque H₁ (t) impressed on the speed reducer 15 and a torque H₂ (t) impressed on the speed reducer 16 are, for example, expressed as

    T.sub.1 (t)=a.sub.1 ω.sub.1 +a.sub.2 H.sub.1 (T)+a.sub.3 ω.sub.1 +a.sub.4 |ω.sub.1 /ω.sub.1 |(1)

    T.sub.2 (t)=b.sub.1 ω.sub.2 =b.sub.2 H.sub.2 (t)+=b.sub.3 ω.sub.2 +b.sub.4 |ω.sub.2 /ω.sub.2 |(2)

    H.sub.1 (t)=(a.sub.5 +a.sub.6 cos θ.sub.2)ω.sub.1 +(a.sub.7 +a.sub.8 cos θ.sub.2)ω.sub.2 -(a.sub.9 ω.sub.1 ω.sub.2 +a.sub.10 ω.sub.2).sup.2 sin θ.sub.2(3)

    H.sub.2 (t)=b.sub.5 ω.sub.2 +(b.sub.6 +b.sub.7 cos θ.sub.2)ω.sub.1 +b.sub.8 ω.sub.1.sup.2 sin θ.sub.2 (4),

wherein: ω₁, ω₂ are angular velocities of the motors 13, 14, respectively; ω₁, ω₂ are time differentiations of the angular velocities; θ₂ is an angle made by the second arm 12 relative the first arm 11; a₁, a₂, . . . a₁₀ and b₁, b₂, . . . , b₈ are, respectively, constants peculiar of each robot, and are determined by an arm length, weight, speed reduction ratio, friction resistance and so on.

The object of the present invention is to control the largest torque impressed on the motor and the speed reducer. Generally, in the articulated robot, the acceleration time and the deceleration time are about 0.2-0.5 second and therefore in the equations (1)-(4), the values of ω₁, ω₂ are larger than that of ω₁, ω₂ and therefore generally the torque impressed on the motor and the speed reducer in the acceleration and deceleration is larger than that at ω₁ =0, ω₂ =0, that is, the displacement velocity becomes constant. Accordingly, hereinafter the description is limited to the torque control during acceleration and the deceleration.

Firstly, the torque control during acceleration is described when at least one of the first arm 11 and the second arm 12 reaches the largest rotation number.

When, as an example of the reference acceleration curve, as shown in FIG. 7, such control is executed that the following relation holds:

    ω=f.sub.u (t/t.sub.u)                                (5)

    0≦t/t.sub.u ≦1

    f.sub.u (0)=0, f.sub.u (1)=1

wherein t_(u) is a time for the acceleration, and ω₁ and ω₂ are given as

    ω.sub.1 =C.sub.1 f.sub.u (t/t.sub.u)                 (6)

    ω.sub.2 =C.sub.2 f.sub.u (t/t.sub.u)                 (7)

wherein C₁ and C₂ are given constants for respective steps;

then, by providing that the angle of the second arm 12 relative to the first arm 11 at the beginning of the acceleration is θ_(2s) and values when the ω₁, ω₂ become constant are ω₁, ω₂ respectively, the acceleration state of the first arm 11 and the second arm 12 is determined definitely by θ_(2s), ω₁, ω₂, t_(u) since the ω₁, ω₂ are always in linear relation from the equations (6), (7);

and hence, by providing that peak values of T₁ (t), T₂ (t), H₁ (t), H₂ (t) are T_(1p), T_(2p), H_(1p), H_(2p) respectively, they are expressed by the following functions that:

    T.sub.1p =g.sub.1 (θ.sub.2s, ω.sub.1, ω.sub.2, t.sub.u) (8)

    T.sub.2p =g.sub.2 (θ.sub.2s, ω.sub.1, ω.sub.2, t.sub.u) (9)

    H.sub.1p =g.sub.3 (θ.sub.2s, ω.sub.1, ω.sub.2, t.sub.u) (10)

    H.sub.2p =g.sub.4 (θ.sub.2s, ω.sub.1, ω.sub.2, t.sub.u) (11).

Here, by providing that

Δθ₁ is a displacement angle of the first arm 11,

Δθ₂ is a displacement angle of the second arm 12,

m₁ is a reduction ratio of the speed reducer 15

(m₁ >0),

m₂ is a reduction of the speed reducer 16

(m₂ >0),

since the angular velocities ω₁ and ω₂ are always in a linear relation and the first arm 11 and the second arm 12 start simultaneously and stop simultaneously, ##EQU1## holds. By providing that ω_(1M), ω_(2M) are the largest rotation velocities of the motors (ω_(1M) >0, ω_(2M) >0) and considering the rotation direction, ##EQU2## hold.

Here, by providing that ##EQU3## hold and therefore the above equations (13)-(22) are arranged as ##EQU4##

Therefore, the equations (8)-(11) become as ##EQU5## Therefore, any T_(1p), T_(2p), H_(1p), H_(2p) are expressed by θ_(2s), α, β, ω_(1M), ω_(2M), positive and negative of Δθ₁, positive and negative of Δθ₂ and t_(u). Because ω_(1M) and ω_(2M) are constants and θ_(2s), α, β, positive and negative of Δθ₁ and positive and negative of Δθ₂ are determined definitely by positional data of the initial point P_(i) and the end point P_(i+1) at a displacement step from point P_(i) to the next point P_(i+1), t_(u) need be varied in order to vary the values of T_(1p), T_(2p), H_(1p) and H_(2p).

The object of the present invention is that T_(1p), T_(2p), H_(1p), H_(2p) not exceed the respective torque tolerance limits and further under such condition t_(u) is made a minimum. Therefore, the optimum acceleration time t_(u) can be obtained by using such method that the maximum values of the absolute values of T_(1p), T_(2p), H_(1p) and H_(2p) are obtained by varying the value of t_(u) and those values do not exceed the torque tolerance limits determined respectively and further under such condition t_(u) is converged to the smallest t_(u).

Responding to the optimum acceleration time t_(ui) obtained for the step from point P_(i) to point P_(i+1), the optimum acceleration curve is obtained as |α|≦1 (sic): ##EQU6##

Also, in the deceleration case, in a manner similar to the acceleration case, by using θ_(2E) of the second arm 12 relative to the first arm 11 at the point P_(i+1) instead of θ_(2s), using the reference deceleration curve fd(t/t_(d)) as shown in FIG. 8, wherein

fd(0)=1 and

fd(1)=0,

instead of the reference acceleration curve fu(t/t_(u)), and using t-t_(s) (t_(s) : deceleration starting time) instead of t, the optimum deceleration time t_(di) can be obtained.

Further, the optimum deceleration curve can be obtained likewise as ##EQU7##

The angular velocity data so obtained are supplied to the velocity instruction circuit 33 and are issued as a velocity signal to the driving circuit 2. Further, the driving circuit 2 amplifies the signal and the motor 13 and the motor 14 are driven accordingly.

Next, a case, wherein Δθ₁ and Δθ₂ are small and ω₁ and the ω₂ do not mount up to the ω₁ and ω₂, is elucidated. At the time the arm is acceleratged from point A along the acceleration curve (FIG. 9):

    ω.sub.1 =C.sub.1 f.sub.u (t/t.sub.u), ω.sub.2 =C.sub.2 f.sub.u (t/t.sub.u),

and is made to a constant velocity from points B and B', and now is decelerated from points C and C' along the deceleration curve:

    ω.sub.1 =D.sub.1 f.sub.d (t/t.sub.d), ω.sub.2 =D.sub.2 f.sub.d (t/t.sub.d)

and stops at point D.

The problem is that the intervals of B-E, B'-E' of the acceleration curve and the intervals of F-C, F'-C' of the deceleration curve are not used in the actual operation and the parameters t_(u), t_(d) are not used in the determining the acceleration and the deceleration.

However, in the embodiment, the processing can be made by the same algorithm as that described previously by the below-mentioned concept.

As shown in FIG. 9, such an operation is supposed that a part which reaches ω₁ and ω₂ appears by multiplying Δθ₁, Δθ₂ of FIG. 10 by certain constants. Then,

    T.sub.1 (A-B)   T.sub.1 (A-E)

    T.sub.2 (A-B')   T.sub.2 (A-E')

    H.sub.1 (A-B)   H.sub.1 (A-E)

    H.sub.2 (A-B')   H.sub.2 (A-E')

    T.sub.1 (C-D)   T.sub.1 (F-D)

    T.sub.2 (C'-D)   T.sub.2 (F'-D)

    H.sub.1 (C-D)   H.sub.1 (F-D)

    H.sub.2 (C'-D)   H.sub.2 (F'-D)

hold, and therefore always the following hold:

    |T.sub.1P (A-B)|≦|T.sub.1p (A-E)|

    |T.sub.2p (A-B')|≦|T.sub.2p (A-E')

    |H.sub.1p (A-B)|≦|H.sub.1p (A-E)|

    |H.sub.2p (A-B')|≦|H.sub.2p (A-E')|

    |T.sub.1p (C-D)|≦|T.sub.1p (F-D)|

    |T.sub.2p (C'-D)|≦|T.sub.2p (F'-D)|

    |H.sub.1p (C-D)|≦|H.sub.1p (F-D)|

    |H.sub.2p (C'-D)|≦|H.sub.2p (F'-D)|.

Accordingly, even though t_(u) and t_(d) are obtained by replacing the operation of FIG. 10 with the operation of FIG. 9, overload is not produced on the motor and for the speed reducer.

Further, in the embodiment, the terms ω₁ and ω₂ are not used to calculate the peak torque and α, β, ω_(1M), ω_(2M), positive and negative of Δθ₁ and positive and negative of Δθ₂ are used, and α and β are determined by the ratio of Δθ₁ and Δθ₂ as shown by the equations (23)-(24) and are not affected by the magnitudes of the terms Δθ₁ and Δθ₂. Accordingly, to process the operation shown in FIG. 9 with the previously mentioned algorithm executes automatically the replacement of the processing of the operation shown in FIG. 10, and therefore a particular treatment is not necessary against the operation shown in FIG. 9 and the same algorithm can be used to effect processing.

The above-mentioned algorithm is described by using the flow chart shown in FIG. 11.

○1 The data about the two points P_(i) and P_(i+1) are read in.

○2 Such t_(u) is obtained which makes T_(1p), T_(2p), H_(1p) and H_(2p) in the acceleration from point P_(i) to point P_(i+1) to be:

    |T.sub.1p |≦T.sub.1max and

    |T.sub.2p |≦T.sub.2max and

    |H.sub.1p |≦H.sub.1max and

    |H.sub.2p |≦H.sub.2max

and further

    |T.sub.1max.spsb.- |T.sub.1p ||<ε.sub.1 or

    |T.sub.2max.spsb.- |T.sub.2p ||<ε.sub.2 or

    |H.sub.1max.spsb.- |H.sub.1p ||<ε.sub.3 or

    |H.sub.2max.spsb.- |H.sub.2p ||<ε.sub.4

by using an optimizing method. Here, T_(1max), T_(2max), H_(1max), H_(2max) are the tolerance load torques of the motor and the speed reducer and ε₁, ε₂, ε₃, ε₄ are substantially small number. Further, in the deceleration, the optimum deceleration time t_(d) is obtained likewise.

○3 The t_(u) and t _(d) obtained in the step ○2 are considered as t_(ui) and t_(di).

○4 The acceleration curve is set as: ##EQU8## the deceleration curve is set as: ##EQU9##

Hereinafter, the steps from the step ○1 to the step ○4 are repeated until the point P_(i+1) reaches a final point.

Next, a second embodiment of the present invention is described based upon the flow chart of FIG. 12. The embodiment has such feature that in the step ○2 of the flow chart shown in FIG. 11, each parameter is made a discrete value parameter and the optimum acceleration time and the optimum deceleration for each parameter is calculated and memorized beforehand and the optimum acceleration time and the optimum deceleration time are obtained approximately by comparing the parameter obtained from the position data of point P_(i) and point P_(i+1) with the discrete value parameter, thereby simplifying the process substantially.

As described in the first embodiment, the following ones are the parameters for the optimum acceleration time and the optimum deceleration time:

θ_(2s) : angle of the second arm 12 relative to the first arm 11 at the acceleration start

θ_(2E) : angle of the second arm 12 against the first arm 11 at the end of acceleration ##EQU10## positive and negative of Δθ₁ and positive and negative of Δθ₂,

but the positive and negative of Δθ₁ and the positive and the negative of Δθ₂ have only two values respectively, and therefore it is obvious that to make the θ_(2s), θ_(2E), α and β discrete value parameter is enough.

Hereinafter, the algorithm in the acceleration is described based on the flow chart in FIG. 12.

○1 The positional data of the two points P_(i) and P_(i+1) are read in.

○2 The parameters θ_(2s), θ_(2E), α, β, Δθ₁ and Δθ₂ are obtained.

○3 The acceleration time t_(u) is searched in a table memorized beforehand by judging to which of four possible the pattern groups, the operation pattern of the robot belongs.

Here, the table is as ##EQU11## wherein j=1, 2, 3, . . . , l,

k=1, 2, 3, . . . , l',

    -θ.sub.2max ≦θ.sub.2sj-1 <θ.sub.2sj ≦θ.sub.2max,

    -1≦α.sub.k-1 <α.sub.k ≦1,

    -1≦β.sub.k-1 <β.sub.k ≦1,

and θ_(2max) is a maximum angle of the second arm relative the first arm, and l and l' are natural number.

○4 The acceleration curve is determined relative the obtained t_(ui) as: ##EQU12##

During deceleration, the process is similar as the above-mentioned ○3 and ○4 .

Hereinafter, the steps of ○1 to ○4 are repeated until the point P_(i+1) reaches the final point.

As mentioned above, in the embodiment, since the process for obtaining the acceleration and deceleration time, t_(ui) and t_(di) is simplified substantially, there are such feature that even a small operation processing apparatus can respond sufficiently.

Next, a third embodiment of the present invention is described basing on FIGS. 13-15.

In the above second embodiment, the symmetrical operations as shown in FIG. 13 and FIG. 14 are considered as different operations, and memory tables are prepared respectively. In the operations of FIG. 13 and FIG. 14, as apparent from the figure,

    Δθ.sub.1 (9)=-Δθ.sub.1 (8)

    Δθ.sub.2 (9)=-Δθ.sub.2 (8)

    Δ.sub.2s (9)=-Δ.sub.2s (8)

hold. Therefore, in the operation of FIG. 13 and FIG. 14, the load torques of the motor and the speed reducer are contrary for their positive and negative values, but the absolute values are equal. Since the object of the present invention is to obtain the acceleration and deceleration time under the case that the absolute value of the load torque is within the tolerance limit and, further, is optimum, by controlling of the peak torque, the above two operations may be considered to be the same operation and one memory table may be prepared for it; and by executing so the amount of the memory table can be compressed to half of that in the second embodiment.

Hereinafter, the part corresponding to the step ○3 of FIG. 12 is shown in FIG. 15.

In the above-mentioned second embodiment, the positive and negative values of Δθ₁ and Δθ₂ are judged after the judgment of |α|, but in the third embodiment, the positives and negatives of θ₁ ·θ_(2s) and Δθ₂ ·θ_(2s) are judged. The reason is that, by taking the case of FIG. 13 and FIG. 14, the following holds: ##EQU13## That is, by judging the positive and negative of Δθ₁ ·Δ_(2s), these two operations can be treated as the same operation. Also, similar is as to Δθ₂ ·θ_(2s).

It is necessary to use |θ_(2s) |_(j) instead of θ_(2sj) as the discrete value parameter of the memory table.

Thus, after arrangement, the following holds: ##EQU14## j=1, 2, 3, . . . , l, k=1, 2, 3, . . . , l,

    0≦|θ.sub.2s |.sub.j-1 <|θ.sub.2s |.sub.j ≦θ.sub.2smax,

    -1≦α.sub.k-1 <α.sub.k ≦1,

    -1≦β.sub.k-1 <β.sub.k ≦1,

and that θ_(2smax) is a maximum angle of the second arm against the first arm, and l and l' are natural numbers.

Other processes, except for the above, can be processed in the same way as in the second embodiment.

As mentioned above, in the embodiment, the memory table can be made half of that of the second embodiment.

Incidentally, in the each above-mentioned embodiments, the reference acceleration curve and the reference deceleration curve are for producing the velocity instruction as a function of time but this way is but one example and other techniques may be used.

Further, in each of the above-mentioned embodiments, the load torque of the motor and the speed reducer is used as an optimizing condition; but this is one example and, for example, the optimization can be executed not considering the load torque of the speed reducer by using a speed reducer having a large torque tolerance limit. Conversely, the load torque of the other element may be taken into consideration. Further, in order to suppress the vibration, the factor made by differentiating the load torque as a function of time can be considered. In sum, it will do to intend to optimize, by contracting and/or extending the acceleration and deceleration time, the peak rotation number based on the reference acceleration and deceleration curve, as a result.

Further, in the second and third embodiment, θ_(2s), α, β and θ_(2E) are used as the discrete value parameters; but this is one example; and since the following relationships hold: ##EQU15## using of θ₂₅, α, β and θ_(2E) as the discrete value parameter and using θ_(2s), Δθ₁ and Δθ₂ as the discrete value parameter are entirely equivalent and the present invention is not different even though such parameters are used as the discrete parameter.

As mentioned above, the present invention is such that each operation, based on the supplied positional data for the beginning and end points of the displacement, the angular acceleration velocity is controlled in a manner that the torque impressed on the motor or on the motor and speed reducer during acceleration and deceleration attains a maximum value below the torque tolerance limit, and therefore the transfer time can be shortened substantially and reasonably, in comparison with the conventional case in which the acceleration and the deceleration time is fixed. 

We claim:
 1. A method for controlling an articulated robot of the type which comprises a first arm supported rotatably from a main body via a first articulated joint, a second arm supported rotatably from said first arm via a second articulated joint, and respective first and second motors coupled to said first and second articulated joints for rotating said first arm and said second arm, each of said first and second motors having a respective predetermined upper torque limit, wherein the displacement of said first arm and said second arm to displace the remote end of said second arm from an initial position P_(i) to a subsequent position P_(i+1) is controlled by angular velocity instructions provided to said first and second motors to effect controlled acceleration and deceleration during displacement from the initial position P_(i) to the subsequent position P_(i+1), said method comprising the steps of:(a) storing a reference acceleration curve and a reference deceleration curve in a memory means by which velocity instruction values or desired displacement positional instruction values for said respective first and second motors are generated as a function of time or a displacement amount; (b) reading in positional data for the initial position P_(i) and the subsequent position P_(i+1) to which the remote end of the second arm is to be displaced; (c) varying an acceleration time or a displacement amount to obtain an acceleration value as a function of said stored reference curve information for acceleration of the remote end of said second arm from position P_(i) to position P_(i+1) ; (d) calculating the torque load of said first motor and said second motor for acceleration of the remote end of said second arm from said initial position P_(i) to said subsequent position P_(i+1) for the obtained acceleration value; (e) repeating said varying step (c) and calculating step (d) until the calculated torque load for each of said first and second motors is below its predetermined upper torque limit and the calculated torque load for at least one of said first and second motors if at a maximum value under its predetermined upper torque limit; (f) varying a deceleration time or a displacement amount to obtain an deceleration value as a function of said stored reference curve information for deceleration of the remote end of said second arm from position P_(i) to position P_(i+1) ; (g) calculating the torque load of said first motor and said second motor for deceleration of the remote end of said second arm from said initial position P_(i) to said subsequent position P_(i+1) for the obtained deceleration value; (h) repeating said varying step (f) and calculating step (g) until the calculated torque load for each of said first and second motors is below its predetermined upper torque limit and the calculated torque load for at least one of said first and second motors is at a maximum value under its predetermined upper torque limit; (i) using said obtained acceleration time or said displacement amount during acceleration as a reference for said stored reference acceleration curve and issuing a velocity instruction value or a desired displacement positional instruction for the acceleration portion of the displacement of the remote end of said second arm; and (j) using said obtained deceleration time or said displacement amount during deceleration as a reference for said stored reference deceleration curve and issuing a velocity instruction value or desired displacement positional instruction for the deceleration portion of the displacement of the remote end of said second arm.
 2. A method for controlling an articulated robot of the type which comprises a first arm supported rotatably from a main body via a first articulated joint, a second arm supported rotatably from said first arm via a second articulated joint, and respective first and second motors coupled to said first and second articulated joints for rotating said first arm and said second arm, each of said first and second motors having a respective predetermined upper torque limit, wherein the displacement of said first arm and said second arm to displace the remote end of said second arm from an initial position P_(i) to a subsequent position P_(i+1) is controlled by angular velocity instructions provided to said first and second motors to effect controlled acceleration and deceleration during displacement from the initial position P_(i) to the subsequent position P_(i+1), said method comprising the steps of:storing a reference acceleration curve and a reference deceleration curve in a memory device by which velocity instruction values or desired displacement positional instruction values are generated as a function of time or a displacement amount; storing discrete values of factors which affect torque load of said first and second motors as a function of positional data for a displacement starting point and a displacement ending point; calculating combination-values for all combinations of said discrete value parameters for acceleration times or the displacement amounts during acceleration, the deceleration times or the displacement amounts during deceleration which combination-values make said load torques of said first motor and said second motor below their respective predetermined upper torque limit and the torque load for at least one of said first and second motors at a maximum value under its predetermined upper torque limit; memorizing the calculated combination-values in a memory device corresponding to said combinations of said discrete value parameters; reading in positional data for an initial position P_(i) and a subsequent position P_(i+1) ; calculating factors used for said discrete value parameters from positional data for the initial position P_(i) and a subsequent position P_(i+1) ; comparing said factors calculated value with said stored discrete value parameters and obtaining the acceleration time or the displacement amount during acceleration and the deceleration time or the displacement amount during deceleration, which correspond to the nearest discrete value parameters; using said acceleration time or said displacement amount during said acceleration obtained by said comparing step as a reference value for said reference acceleration curve and issuing velocity instruction values or a desired displacement positional instruction during acceleration; and using said deceleration time or said displacement amount during deceleration obtained by said comparing step as a reference for said reference deceleration curve and issuing velocity instructions value or a desired transfer positional instruction in the deceleration.
 3. A method for controlling an articulated robot of the type which comprises a first arm supported rotatably from a main body via a first articulated joint, a second arm supported rotatably from said first arm via a second articulated joint, a first motor and a first speed reducer coupled to said first articulated joint and a second motor and second speed reducer connected to said second articulated joint for rotating said first arm and said second arm, said first motor and first speed reducer and said second motor and second speed reducer having respective predetermined upper torque limits, wherein the displacement of said first arm and said second arm to displace the remote end of said second arm from an initial position P_(i) to a subsequent position P_(i+1) is controlled by angular velocity instructions provided to said first and second motors to effect controlled acceleration and deceleration during displacement from the initial position P_(i) to the subsequent position P_(i+1), said method comprising the steps of:(a) storing a reference acceleration curve and a reference deceleration curve in a memory means by which velocity instruction values or desired displacement positional instruction values for said respective first and second motors are generated as a function of time or a displacement amount; (b) reading in positional data for the initial position P_(i) and the subsequent position P_(i+1) to which the remote end of the second arm is to be displaced; (c) varying an acceleration time or a displacement amount to obtain an acceleration value as a function of said stored reference curve information for acceleration of the remote end of said second arm from position P_(i) to position P_(i+1) ; (d) calculating the torque load of said first motor and said first speed reducer and said second motor and said second speed reducer for acceleration of the remote end of said second arm from said initial position P_(i) to said subsequent position P_(i+1) for the obtained acceleration value; (e) repeating said varying step (c) and calculating step (d) until the calculated torque load for each of said first motor and first speed reducer and said second motor and second speed reducer is below their respective predetermined upper torque limit and the calculated torque load for at least one of said first motor and first speed reducer said second motor and second speed reducer is at a maximum value under its predetermined upper torque limit; (f) varying a deceleration time or a displacement amount to obtain an deceleration value as a function of said stored reference curve information for deceleration of the remote end of said second arm from position P_(i) to position P_(i+1) ; (g) calculating the torque load of said first motor and said first speed reducer and said second motor and speed reducer for deceleration of the remote end of said second arm from said initial position P_(i) to said subsequent position P_(i+1) for the obtained deceleration value; (h) repeating said varying step (f) and calculating step (g) until the calculated torque load for each of said first motor and first speed reducer and said second motor and second speed reducer is below their respective predetermined upper torque limit and the calculated torque load for at least one of said first motor and speed reducer and said second motor and second speed reducer is at a maximum value under its predetermined upper torque limit; (i) using said obtained acceleration time or said displacement amount during acceleration as a reference for said stored reference acceleration curve and issuing a velocity instruction value or a desired displacement positional instruction for the acceleration portion of the displacement of the remote end of said second arm; and (j) using said obtained deceleration time or said displacement amount during deceleration as a reference of said reference deceleration curve and issuing a velocity instruction value or desired displacement positional instruction for the deceleration portion of the displacement of the remote end of said second arm.
 4. A method for controlling an articulated robot of the type which comprises a first arm supported rotatably from a main body via a first articulated joint, a second arm supported rotatably from said first arm via a second articulated joint, a first motor and a first speed reducer coupled to said first articulated joint and a second motor and second speed reducer connected to said second articulated joint for rotating said first arm and said second arm, said first motor and first speed reducer and said second motor and second speed reducer having respective predetermined upper torque limits, wherein the displacement of said first arm and said second arm to displace the remote end of said second arm from an initial position P_(i) to a subsequent position P_(i+1) is controlled by angular velocity instructions provided to said first and second motors to effect controlled acceleration and deceleration during displacement from the initial position P_(i) to the subsequent position P_(i+1), said method comprising the steps of:storing a reference acceleration curve and a reference deceleration curve in a memory device by which velocity instruction values or desired displacement positional instruction values are generated as a function of time or a displacement amount; storing discrete values of factors which affect torque load of said first motor and first speed reducer and said second motor second speed reducer as a function of positional data for a displacement starting point and a displacement ending point; calculating combination-values for all combinations of said discrete value parameters for acceleration times or the displacement amounts during acceleration and the deceleration times or the displacement amounts during deceleration which combination-values make said load torques of said first motor and first speed reducer and said second motor and second speed reducer below their respective predetermined upper torque limit and the torque load for at least one of said first motor and first speed reducer and said second motor and second speed reducer at a maximum value under its respective predetermined upper torque limit; memorizing the calculated combination-values in a memory device corresponding to said combinations of said discrete value parameters; reading in positional data for an initial position P_(i) and a subsequent position P_(i+1) ; calculating factors used for said discrete value parameters from positional data for the initial position P_(i) and a subsequent position P_(i+1) ; comparing said factors calculated value with said stored discrete value parameters and obtaining the acceleration time or the displacement amount during acceleration and the deceleration time or the displacement amount during deceleration, which correspond to the nearest discrete value parameters; using said acceleration time or said displacement amount during said acceleration obtained by said comparing step as a reference value for said reference acceleration curve and issuing velocity instruction values or a desired displacement positional instruction during acceleration; and using said deceleration time or said displacement amount during deceleration obtained by said comparing step as a reference for said reference deceleration curve and issuing velocity instructions value or a desired transfer positional instruction in the deceleration. 